﻿namespace cludg.Domain.Content.Stories
{
	public abstract class StorySubject
	{
		protected virtual void AssignTo(StorySubject dest)
		{
		}

		public StorySubject Clone()
		{
			var subject = (StorySubject)this.GetType().GetConstructor(System.Type.EmptyTypes).Invoke(null);
			AssignTo(subject);
			return subject;
		}

		public virtual string Id { get; set; }
	}
}
